home *** CD-ROM | disk | FTP | other *** search
- poll_requests(Function):-
- in(evaluate(Value)),
- out(being_evaluated(Value)),
- do_function(Function,Value,Result).
-
- do_function(_,halt,_).
-
- do_function(Function,Value,Result):-
- Query =.. [Function,Value,Result],
- Query,
- out(evaluated(Value,Result)),
- in(being_evaluated(Value)),
- poll_requests(Function).
-
- fibonacci(0,1).
-
- fibonacci(1,1).
-
- fibonacci(Value,Result):-
- Value > 1,
- V1 is Value - 1,
- V2 is Value - 2,
- fibonacci(V1,R1),
- fibonacci(V2,R2),
- Result is R1 + R2.
-